package com.java.test;

import org.junit.Test;

import java.util.Date;

/**
 * JDK8之前 日期和时间的API测试
 *
 * @author shkstart
 * @create 2021-01-06 11:13
 */
public class DateTimeTest_1 {

    /*
     * java.util.Date类
     *       java.sql.Date类
     *
     * 1。两个构造器的使用
     *构造器一：创建一个对应当前时间的Date对象
     *构造器二：创建一个指定毫秒数的一个Date对象
     * 2.两个方法的使用
     *
     *   toString():显示当前的年月日时分秒 地区
     *   getTime():返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差
     *
     * 3.java.sql.Date 对应着数据库中的日期类型的变量
     * --如何实例化
     * 如何将java.util.Date对象转换成java.sql.Date对象
     *
     * */

    @Test
    public void test2() {
        //构造器一：创建一个对应当前时间的Date对象
        Date d1 = new Date();
        System.out.println(d1.toString());  //Wed Jan 06 11:28:24 CST 2021
        System.out.println(d1.getTime());

        //构造器二：创建一个指定毫秒数的一个Date对象
        System.out.println(new Date(1609903852350L));


        //创建一个java.sql.Date对象
        java.sql.Date date2 = new java.sql.Date(56151616161L);
        System.out.println(date2);//1971-10-13

        //如何将java.util.Date对象转换成java.sql.Date对象
        //情况一:多态
        java.sql.Date date3 = new java.sql.Date(64616516655165L);
        java.sql.Date date4 = (java.sql.Date) date3;

        //情况二：构造器
        Date date5 = new Date();
        java.sql.Date date6 = new java.sql.Date(date5.getTime());


    }


    //1.System类中的currentTimeMillis()
    // 用来返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差
    //称为时间戳
    @Test
    public void test1() {
        long time = System.currentTimeMillis();
        System.out.println(time);
    }
}
